var dDUser = {
	actionPath : "/system/user/",
	getRootPath : function() {
		return parent.CONTEXT_PATH + dDUser.actionPath;
	},
	updateId : undefined,
	STATUS_ON : 0,
	STATUS_OFF : 1,
	toAdd : function() {
		parent.$.modalDialog({
			title : '新增用户',
			width : 430,
			height : 400,
			href : dDUser.getRootPath() + 'toAdd.xhtml',
			buttons : [ {
				text : '确认',
				handler : function() {
					parent.$.modalDialog.openner_datagrid = $('#dg');
					parent.$.modalDialog.handler.find('#createSubmit').click(dDUser.addUser());
				}
			}, {
				text : '取消',
				handler : function() {
					parent.$.modalDialog.handler.dialog('close');
				}
			} ]
		});
	},
	addUser : function() {
		// 校验所有验证是否通过
		if (!dDUser.validatorForm('createForm')) {
			return false;
		} else {
			var url = dDUser.getRootPath() + "create.xhtml";
			$.post(url, parent.$("#createForm").serialize(), function(result) {
				var msg = result.msg;
				if (result.success) {
					parent.$.modalDialog.handler.dialog('close');
					parent.showInfoBox(msg, function() {
						parent.$.modalDialog.openner_datagrid.datagrid('reload');
					});
				} else {
					parent.$('#refail').children('span:first').html(msg).end().show();
				}
			}, 'json');
		}
	},
	deleteUser : function() {
		var row = $('#dg').datagrid('getSelected');
		if (!row) {
			parent.showWarningBox('请先选择需要删除的用户');
			return;
		}
		parent.showConfirmBox('确定删除当前选中的用户吗？', function(bool) {
			if (bool) {
				parent.postReturnJson(dDUser.actionPath + 'remove.xhtml', {
					id : row.userId
				}, function(result) {
					$('#dg').datagrid('reload');
					$('#dg').datagrid('clearSelections');
				});
			}
		});
	},
	toUpdate : function() {
		// if (dDUser.updateId != undefined) {
		// $('#dg').datagrid('selectRow', dDUser.updateId);
		// return;
		// }
		var rows = $('#dg').datagrid('getChecked');
		if (rows.length >= 2) {
			parent.showWarningBox('请选择一个用户进行修改');
			return;
		}

		var row = $('#dg').datagrid('getSelected');
		if (row) {
			$('#saveBut').linkbutton("enable");
			$('#cancelBut').linkbutton("enable");
			dDUser.updateId = row.userId;
			parent.$.modalDialog({
				title : '修改用户',
				width : 430,
				height : 350,
				href : dDUser.getRootPath() + 'toUpdate.xhtml?userId=' + dDUser.updateId,
				buttons : [ {
					text : '确认',
					handler : function() {
						parent.$.modalDialog.openner_datagrid = $('#dg');
						parent.$.modalDialog.handler.find('#updateSubmit').click(dDUser.updateUser());
					}
				}, {
					text : '取消',
					handler : function() {
						parent.$.modalDialog.handler.dialog('close');
						dDUser.updateId = undefined;
						return;
					}
				} ],
				onBeforeClose : function() {
					dDUser.updateId = undefined;
				}
			});
		} else {
			parent.showWarningBox('请先选择需要修改的用户');
			dDUser.updateId = undefined;
			$('#saveBut').linkbutton("disable");
			$('#cancelBut').linkbutton("disable");
			return;
		}
	},
	updateUser : function() {
		// 校验所有验证是否通过
		if (!dDUser.validatorForm('updateForm')) {
			return false;
		} else {
			var url = dDUser.getRootPath() + "update.xhtml";
			$.post(url, parent.$("#updateForm").serialize(), function(result) {
				var msg = result.msg;
				if (result.success) {
					parent.$.modalDialog.handler.dialog('close');
					parent.showInfoBox(msg, function() {
						parent.$.modalDialog.openner_datagrid.datagrid('reload');
					});
				} else {
					parent.$('#refail').children('span:first').html(msg).end().show();
				}
			}, 'json');
		}
	},
	searchUser : function() {
		$('#dg').datagrid({
			queryParams : {
				"userName" : $('#userName').val(),
				"email" : $('#email').val(),
				"telephone" : $('#telephone').val(),
				"userStatus" : $('#userStatus').val()
			}
		});
	},
	cancel : function() {
		if (dDUser.updateId != undefined) {
			$('#dg').datagrid('cancelEdit', dDUser.updateId);
			dDUser.updateId = undefined;
			$('#saveBut').linkbutton("disable");
			$('#cancelBut').linkbutton("disable");
		}
	},
	accreditUser : function() {
		var row = $('#dg').datagrid('getSelected');
		if (!row) {
			parent.showWarningBox('请先选择需要授权的用户');
			return;
		}
		parent.$.modalDialog({
			title : '用户[' + row.userName + ']权限设置',
			width : 750,
			height : 460,
			href : dDUser.getRootPath() + 'goUserPermissions.xhtml?uid=' + row.userId,
			buttons : [ {
				text : '保存',
				handler : function() {
					parent.$.modalDialog.openner_datagrid = $('#dg');
					parent.$.modalDialog.handler.find('#saveBut').click();
				}
			}, {
				text : '取消',
				handler : function() {
					parent.$.modalDialog.handler.dialog('close');
				}
			} ]
		});
	},
	setRemoteSortType : function(o) {
		$('#dg').datagrid({
			remoteSort : !o.checked
		});
	},
	validatorForm : function(formId) {
		var ret = true;
		var vform = "#" + formId;
		var validatebox = parent.$(vform).find('.easyui-validatebox');
		ret = validatebox.eq(0).validatebox('isValid');
		validatebox.each(function(i) {
			var tf = validatebox.eq(i).validatebox('isValid');
			if (!tf) {
				ret = false; // 验证不通过不能提交.
			}
		});
		return ret;
	},
	clearEasyUi : function() {
		$('#dg').datagrid('clearSelections');
		$('#dg').datagrid('clearChecked');
	},
	getInfoFromRows : function(rows) {
		if (!rows || rows.length == 0) {
			return;
		}
		var info = [];
		var userIds = "";
		for ( var i = 0; i < rows.length; i++) {
			userIds = userIds + rows[i].userId + ",";
		}
		userIds = userIds.substr(0, userIds.length - 1);
		info.push(userIds);
		return info;
	},
	updateStatus : function(status) {
		var rows = $('#dg').datagrid('getChecked');
		if (!rows || rows.length == 0) {
			parent.showWarningBox(status == dDUser.STATUS_ON ? '请先选择需要启用的用户' : '请先选择需要禁用的用户');
			return;
		}
		var userIds = dDUser.getInfoFromRows(rows)[0];
		$.ajax({
			url : dDUser.getRootPath() + "updateStatus.xhtml",
			data : {
				"userIds" : userIds,
				"status" : status
			},
			method : "post",
			dataType : "json",
			success : function(result) {
				if (result.success) {
					$('#dg').datagrid('reload');
					dDUser.clearEasyUi();
				} else {
					parent.showWarningBox(result.msg);
				}
			}
		});
	},
	resetPassword : function(status) {
		var rows = $('#dg').datagrid('getChecked');
		if (!rows || rows.length == 0) {
			parent.showWarningBox('请先选择需要重置密码的用户');
			return;
		}
		var userIds = dDUser.getInfoFromRows(rows)[0];
		$.ajax({
			url : dDUser.getRootPath() + "resetPassword.xhtml",
			data : {
				"userIds" : userIds
			},
			method : "post",
			dataType : "json",
			success : function(result) {
				if (result.success) {
					parent.showInfoBox("重置密码成功 [密码:000000]");
				} else {
					parent.showWarningBox(result.msg);
				}
			}
		});
	},
	// 授权
	setPermissions : function() {

		var rows = $('#dg').datagrid('getChecked');
		if (!rows || rows.length == 0) {
			parent.showWarningBox('请先选择需要授权的用户');
			return;
		}
		if (rows.length > 1) {
			parent.showWarningBox('请选择一个用户进行分配权限');
			return;
		}
		var row = rows[0];
		parent.$.modalDialog({
			title : '用户[' + row.userName + ']权限设置',
			width : 750,
			height : 460,
			href : dDUser.getRootPath() + 'goUserPermissions.xhtml?uid=' + row.userId,
			buttons : [ {
				text : '保存',
				handler : function() {
					parent.$.modalDialog.openner_datagrid = $('#dg');
					parent.$.modalDialog.handler.find('#saveBut').click();
				}
			},

			{
				text : '取消',
				handler : function() {
					parent.$.modalDialog.handler.dialog('close');
				}
			}

			]
		});
	},
	setOrgs : function() {
		var rows = $('#dg').datagrid('getChecked');
		if (!rows || rows.length == 0) {
			parent.showWarningBox('请先选择需要分配组织的用户');
			return;
		}
		if (rows.length > 1) {
			parent.showWarningBox('请选择一个用户进行分配组织');
			return;
		}
		var row = rows[0];
		parent.$.modalDialog({
			title : '用户[' + row.userName + ']分配组织',
			width :300,
			height : 500,
			href : dDUser.getRootPath() + 'goUserOrgs.xhtml?uid=' + row.userId,
			buttons : [ {
				text : '保存',
				handler : function() {
					parent.$.modalDialog.openner_datagrid = $('#dg');
					parent.$.modalDialog.handler.find('#org_saveBut').click();
				}
			},

			{
				text : '取消',
				handler : function() {
					parent.$.modalDialog.handler.dialog('close');
				}
			}

			]
		});
	}
};

jQuery(function($) {
	$('#dg').datagrid({
		fit : true,
		method : 'post',
		url : dDUser.getRootPath() + 'queryPaging.xhtml',
		iconCls : 'icon-ok',
		rownumbers : true,
		fitColumns : true,
		toolbar : '#extToolbar',
		singleSelect : false,
		idField : 'userId',
		nowrap : false,
		striped : true,
		remoteSort : false,
		pagination : true,
		rowStyler : function(index, row) {
		},
		pageSize : 15,
		pageList : [ 5, 10, 15, 20, 25, 30, 35, 40, 45, 50 ],
		frozenColumns : [ [ {
			field : 'checkId',
			checkbox : true
		} ] ],
		columns : [ [ {
			field : 'userId',
			hidden : true,
			sortable : true,
			width : 100,
			title : '帐号'
		}, {
			field : 'account',
			sortable : true,
			width : 100,
			title : '帐号'
		}, {
			field : 'userName',
			sortable : true,
			width : 100,
			title : '姓名'
		}, {
			field : 'telephone',
			sortable : true,
			width : 100,
			title : '联系电话'
		}, {
			field : 'email',
			sortable : true,
			width : 100,
			title : '邮箱'
		}, {
			field : 'userStatus',
			sortable : true,
			width : 50,
			title : '状态',
			align : 'center',
			formatter : function(value, row, index) {
				if (value == dDUser.STATUS_ON) {
					return "启用";
				} else if (value == dDUser.STATUS_OFF) {
					return "禁用";
				} else {
					return value;
				}

			}
		}, {
			field : 'description',
			sortable : true,
			width : 150,
			title : '备注',
			formatter: function(value,row,index){
         		  return (new JsString()).encodeHtml(value);
         	 }
		} ] ]
	});
});